我有一个问题.我有一个show视图,它充当仪表板并从其他模型中引入记录,然后是与之关联的模型.我有一个简单的搜索表单,可以正常搜索一个模型,但我不知道如何通过它的相关模型查看它.我不认为全文搜索是必要的,我不确定它是如何工作的,因为我不想要在整个网站上搜索的东西.
谢谢
公司/显示/ 1
<div id="form">
<div class="search">
<% form_tag battalion_company_path, :method => :get do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
</div>
</div>
<div id="bc_box">
<% @soldiers.each do |soldier| %>
<div id="bc_focus">
<div class="right">
<%= link_to image_tag("../images/buttons/info.png", :border=>0), battalion_company_soldier_path(@battalion, @company,soldier) %>
<%= link_to image_tag("../images/buttons/edit.png", :border=>0), edit_battalion_company_soldier_path(@battalion, @company,soldier) %>
</div>
<%=h soldier.rank %> <%=h soldier.lastname %><br />
Cell: <%=h soldier.cellphone %><br />
<% soldier.primaries.each do |primary| %>
<p>
<%=h …
Run Code Online (Sandbox Code Playgroud) 我正在使用Devise与Omniauth让用户通过Facebook登录我的应用程序.我使用Railscast教程来启动并运行它.
如果用户已经是我的网站的成员通过Facebook进行身份验证工作正常.在使用facebook验证新用户时会出现此问题.当它为我的用户模型创建一个新用户时,我得到"users.encrypted_password可能不是NULL"错误.我无法弄清楚如何从Facebook信息将密码传递给用户模型.
这就是我所拥有的:
authentations_controller.rb
class AuthenticationsController < ApplicationController
def index
@authentications = current_user.authentications if current_user
end
def create
omniauth = request.env["omniauth.auth"]
authentication = Authentication.find_by_provider_and_uid(omniauth['provider'], omniauth['uid'])
if authentication
flash[:notice] = "Signed in successfully."
sign_in_and_redirect(:user, authentication.user)
elsif current_user
current_user.authentications.create!(:provider => omniauth['provider'], :uid => omniauth['uid'])
flash[:notice] = "Authentication successful."
redirect_to authentications_url
else
user = User.new
user.apply_omniauth(omniauth)
if user.save
flash[:notice] = "Signed in successfully."
sign_in_and_redirect(:user, user)
else
session[:omniauth] = omniauth.except('extra')
redirect_to new_user_registration_url
end
end
end
Run Code Online (Sandbox Code Playgroud)
user.rb
def apply_omniauth(omniauth)
self.email = omniauth['user_info']['email'] if email.blank?
authentications.build(:provider …
Run Code Online (Sandbox Code Playgroud) 这似乎应该是如此简单,但它一直在给我带来问题.
我有一个从模型中提取的select_tag.我想要的是让一个人从下拉菜单中选择他们的位置,按提交并将其带到那个地方页面.
这就是我所拥有的
<% form_tag installation_path do %>
<%= select_tag :id, options_from_collection_for_select(Installation.find(:all), :id, :name) %>
<div id="button">
<p>
<%= submit_tag "Go", :name => nil %>
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
问题是它当然想要一个,:id
但它不会:id
从下面的下拉菜单中拉出来.
我做错了什么,以及"正确"的方式做任何其他建议.
谢谢
我在Date格式中有一个birth_date变量.我想将它与Date.today进行比较,如下所示.问题是它回来是假的,因为它想要比较年份.这是一个生日,所以我不关心今年只是想看看birth_date(月和日)是否等于Date.today.day.month.
有任何想法吗?
bdays = Soldier.find(:all, :conditions => ["birth_date LIKE ?", Date.today] )
Run Code Online (Sandbox Code Playgroud) 当我放
<iframe width="560" height="349" src="<%= @video.link %>"></iframe>
Run Code Online (Sandbox Code Playgroud)
一切都很好.但实际视频不会播放..我做错了什么?
<iframe width="560" height="349" src="http://youtu.be/PF9-lstnLvo">
<html lang="en" dir="ltr">
</iframe>
Run Code Online (Sandbox Code Playgroud)
救命!!
我正在尝试将这些局部参数传递给部分形式,并将它们传递给hidden_fields。我无法将值直接放入表单,因为它们会发生变化。任何帮助将不胜感激。
我有:
<% form_for :user, @user, :url => { :action => "create", :controller => "users"} do |f| %>
<%= f.error_messages %>
<%= render :partial => "form", :locals => { :f => f, :position => 'Company Commander', :battalion_id => @battalion.id, :company_id => c.id} %>
<%= f.submit "Register" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
_form.html
<%= f.hidden_field (:position, :value => :position) %>
<%= f.hidden_field (:battalion_id, :value => @battalion.id) %>
<%= f.hidden_field (:battalion_id, :value => @company.id) %>
<%= f.hidden_field (:roles, :value => "Company") %>
<%= …
Run Code Online (Sandbox Code Playgroud)