我有这样的形式:
<%= form_tag(user_pages_path(current_user), :method => "get") do %>
<%= text_field_tag :update, 'yes', type: "hidden" %>
<%= submit_tag "Update list", :class => "btn btn-default" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我想在按钮中添加一个图标.我正在使用bootstrap,所以我必须包含以下代码:
<i class=" icon-repeat"></i>
Run Code Online (Sandbox Code Playgroud)
¿有关如何在表单按钮中包含此代码的任何想法?
这是我第一次使用Docker,我不确定我是否做得很好.
我有一个依赖于Mysql数据库的rails应用程序,所以我已经配置了docker-compose.yml这样的文件:
db:
image: library/mysql:5.6
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
expose:
- "3306"
ports:
- "3306:3306"
rails-app:
build: .
dockerfile: Dockerfile
environment:
RAILS_ENV: development
links:
- db
volumes:
- ".:/home/app"
volumes_from:
- bundle
... omitted lines ...
Run Code Online (Sandbox Code Playgroud)
然后,如果我运行以下内容:
$ docker-compose run db mysql --host=$DOCKER_LOCALHOST --port=3306 --protocol=tcp -u root < shared/create_common_tables.sql
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.99.100' (111)
Run Code Online (Sandbox Code Playgroud)
这听起来很正常,因为我怀疑我必须build在一些链接到的容器之前db.
我知道这个,因为如果按此顺序运行:
$ docker-compose build rails-app
$ docker-compose run -e RAILS_ENV=development rails-app …Run Code Online (Sandbox Code Playgroud) 我已经阅读了很多关于Omniauth和OAuth2的内容,以及Omniauth如何使用OAuth,但我并不了解每个内容的目标是什么.
例如,我知道有了Omniauth,我可以回复发送params
@auth [ 'omniauth.params']
但如果我使用OAuth,没有Omniauth,我可以这样做吗?
我真正的问题是我不明白它们之间的区别,Omniauth的结束和OAuth的开始,以及我可以用Omuth来做什么,这是OAuth无法实现的.
我必须在time_zone_select我的Rails应用程序中添加一个.我正在考虑一些宝石根据用户请求设置默认值,但我已经看到该项目已经geocode为此目的安装了gem.
有没有办法通过这个宝石获得时区?
我正在开发一个Facebook搜索,我想列出所有的页面类别(不相关,但我正在使用koala ruby gem):
使用type ="page"进行搜索的结果如下:
{"category"=>"Community", "name"=>"Koala", "id"=>"7356642860"}
{"category"=>"Product/service", "name"=>"Koala Groupe", "id"=>"188919981197745"}
{"category"=>"Public figure", "name"=>"Cushelle Koala", "id"=>"109202405786555"}
{"category"=>"Dancer", "name"=>"Koala Dance Bots", "id"=>"208563099183596"}
{"category"=>"Musician/band", "name"=>"Kid Koala", "id"=>"17527901121"}
{...}
Run Code Online (Sandbox Code Playgroud)
我正在尝试开发一个表单,以允许用户实现更精确的搜索.
然后,我希望用户有一个类别列表,但是:如何获取Facebook页面类别列表?
我想检查一下,当单击图标链接时,current_path 是“显示”操作的路径。
因此,鉴于此 HTML:
<a class="btn btn-xs" href="/admin/hotels/1">
<i class="fa fa-eye fa-lg"></i>
</a>
Run Code Online (Sandbox Code Playgroud)
这个水豚测试:
describe "GET /hotels", js:true do
before :each do
@hotel = create(:hotel)
visit admin.hotels_path
end
it "eye icon links to show" do
find(:css, 'i.fa.fa-eye.fa-lg').find(:xpath,".//..").click
expect(current_path).to eq(admin.hotel_path(@hotel))
end
end
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:
1) Hotels index hotel creation GET /hotels eye icon link to show
Failure/Error: expect(current_path).to eq(admin.hotel_path(@hotel))
expected: "/admin/hotels/560bb674467261c7a4000002"
got: "/admin/hotels"
Run Code Online (Sandbox Code Playgroud)
我推断这find(:css, 'i.fa.fa-eye.fa-lg').find(:xpath,".//..").click不像我期望的那样工作。
的执行find(:css, 'i.fa.fa-eye.fa-lg').find(:xpath,".//..")正在返回:
=> #<Capybara::Element tag="a">
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
给出一个有has_one关联的两个模型:
class ShopInfo
belongs_to :shop
end
class Shop
has_one :shop_info
end
s = Shop.create
ss1 = s.create_shop_info
Run Code Online (Sandbox Code Playgroud)
在我的代码的其他地方,我做
ss2 = s.create_shop_info
Run Code Online (Sandbox Code Playgroud)
此后,ss1.shop_id 设置为 nil,因此 ss1 现在是孤儿记录。
有没有办法删除以前的记录而不是将它们设置为零?
我在本地安装的docker无法访问其他端口。
这是我的docker-compose.yml文件:
db:
image: library/mysql:5.6
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
expose:
- "3306"
ports:
- "3306:3306"
mailcatcher:
image: yappabe/mailcatcher
ports:
- "1025:1025"
- "1080:1080"
rails-app:
build: .
dockerfile: "Dockerfile"
environment:
RAILS_ENV: development
links:
- mailcatcher
- db
command: bundle exec rails server -p 3005 -b '0.0.0.0'
volumes:
- ".:/home/app"
volumes_from:
- bundle
expose:
- "3005"
ports:
- "3005:3005"
Run Code Online (Sandbox Code Playgroud)
这是mailcatcher的配置config/environments/development.rb:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { address: "localhost", port: 1025 }
Run Code Online (Sandbox Code Playgroud)
这是我运行Rails应用程序的方式:
docker-compose run --service-ports rails-app
Run Code Online (Sandbox Code Playgroud)
这是我在运行时看到的docker ps …