<% if current_user.blank? %>
<%tripowner=User.find_by_id(@trip.userid).id%>
<%=tripowner%>
<h3 class="text-center">Please sign up to provide recommendations.</h3>
<%= form_tag usersback_url, class: "form-signin", method: 'post' do %>
<h2 class="form-signin-heading">SIGN UP</h2>
<div>
<%= text_field_tag :first_name, nil, class: "input-block-level", placeholder: "First" %>
</div>
<div>
<%= text_field_tag :last_name, nil, class: "input-block-level", placeholder: "Last" %>
</div>
<div>
<%= email_field_tag :email, nil, class: "input-block-level", placeholder: "Email address" %>
</div>
<div>
<%= password_field_tag :password, nil, class: "input-block-level", placeholder: "Password" %>
</div>
<div>
<%= password_field_tag :password_confirmation, nil, class: "input-block-level", placeholder: "Confirm Password" %>
</div>
<%= hidden_field_tag :tripowner, value: tripowner %>
<div>
<%= submit_tag "SIGN UP", :class => 'btn btn-large btn-success' %>
</div>
<% end %>
<%end%>
:tripowner
沒有正確通過參數,但返回零。我正在嘗試在此操作中使用它。我已經確認tripowner
產量爲1.因此,我想@friendship.f2
爲1.是否有一個原因爲什麼它返回零以下?爲什麼在通過參數傳遞值時會得到零?
def createback
@user = User.new
@user.first_name = params[:first_name]
@user.last_name = params[:last_name]
@user.email = params[:email]
@user.password = params[:password]
@user.password_confirmation = params[:password_confirmation]
@friendship = Friend.new
@friendship.f2 = params[:tripowner]
if @user.save
@friendship.f1 = @user.id
@friendship.confirmed = true
@friendship.save
reset_session
session[:user_id] = @user.id
redirect_to :back, notice: "Signed up successfully."
else
render 'new'
end
端
朋友模型
class Friend < ActiveRecord::Base
belongs_to :user
end
PARAMS:參數:{ 「UTF8」=> 「✓」, 「authenticity_token」=> 「BkVY0/z0KeCQRg83wvumUKEmT67R4liMZr33u98mTBE =」, 「如first_name」 =>「rki」,「last_name」=>「rki」,「email」=>「test @ k」,「password」=>「[FILTERED]」,「password_confirmation」=>「[FILTERED]」, 「=>」{:value => 1}「,」commit「=>」註冊「}
正如您所看到的,1 i正確地通過三方。
您應該通過用戶的* ID *,並在控制器重新找回它。也就是說,在視圖中進行數據庫查找通常是一個糟糕的主意 - 而不是傳遞它。 –
變量tripowner返回id。在它的定義結尾註意.id。 – brad
哦,對不起,錯過了 - 使用空白的一個理由,順便說一句。儘管如此,如果你有一個表單,這個值將在表單的參數下,而不是在根級上 - 你可以通過實際查看被髮送的參數來確定它的位置。如果它沒有被髮送,或者它沒有被髮送,那麼Manoj說你需要設定價值。 –