現在Ruby on Rails 5で登録型のアプリを作成しています。
ショッピングカートボタンのようなボタンがあり、そこでログイン前と後で動作を分けたいと考えています。
- ログイン前ならユーザー登録画面に遷移
- ログイン後なら商品を登録する
controllerとviewは下記のようにしています。
足りないコードも教えていただけると助かります。
よろしくお願いいたします。
order_items_controller
ruby
1 def create 2 if user_signed_in? 3 @order = current_order 4 @order_item = @order.order_items.new(order_item_params) 5 #order_itemsにuser.idを渡す 6 @order_item.user_id = current_user.id 7 @order_item.profile_id = current_user.id 8 @order.save 9 session[:order_id] = @order.id 10 else 11 redirect_to '/users/sign_in' 12 end 13 end
_order_button.html.erb
ruby
1<%= form_for order_item, remote: true do |f| %> 2 <div class="input-group"> 3 <%= f.number_field :quantity, value: 1, class: "input-sm", min: 1 %> 4 <div class="input-group-btn"> 5 <%= f.hidden_field :item_id, value: item.id %> 6 <%= f.submit "Add to Cart", class: "btn-sm" %> 7 </div> 8 </div> 9<% end %>
あなたの回答
tips
プレビュー